package com.shop.cereshop.commons.domain.behavior;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * 用户行为信息实体类
 */
@Data
@ApiModel(description = "用户行为信息")
@TableName("cere_agent_behavior")
@Accessors(chain = true)
public class CereAgentBehavior {

  /**
   * 行为记录ID
   */
  @ApiModelProperty(value = "行为记录ID")
  @TableId(type = IdType.AUTO)
  private Long behaviorId;

  @ApiModelProperty(value = "角色类型 1-代理商，2-业务员，3-股东")
  private Integer roleType;

  /**
   * 用户ID（关联cere_agent_role）
   */
  @ApiModelProperty(value = "用户ID（关联cere_agent_role）")
  private Long agentUserId;

  /**
   * 商品ID（关联cere_agent_product）
   */
  @ApiModelProperty(value = "商品ID（关联cere_agent_product）")
  private Long agentProductId;

  /**
   * 行为类型：1-浏览足迹，2-商品收藏
   */
  @ApiModelProperty(value = "行为类型：1-浏览足迹，2-商品收藏")
  private Integer behaviorType;

  /**
   * 行为发生时间
   */
  @ApiModelProperty(value = "行为发生时间")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private LocalDateTime createTime;

  /**
   * 是否有效：0-未删除，1-已删除
   */
  @ApiModelProperty(value = "是否有效：0-未删除，1-已删除")
  @TableLogic
  private Integer deleted;
}